//
//  UIImageView+web.m
//  06-随机下载图片
//
//  Created by apple on 16/1/8.
//  Copyright © 2016年 apple. All rights reserved.
//

#import "UIImageView+web.h"
#import <objc/runtime.h>

@implementation UIImageView (web)

- (void)setLastUrl:(NSString *)lastUrl
{
    /*
     参数1 : 要关联的对象
     参数2 : 要关联的对象的属性的key
     参数3 : 要关联的对象的属性
     参数4 : 要关联的对象的属性的修饰策略
     */
    objc_setAssociatedObject(self, "key", lastUrl, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

- (NSString *)lastUrl
{
    /*
     参数1 : 要关联的对象
     参数2 : 要关联的对象的属性的key
     */
    return objc_getAssociatedObject(self, "key");
}

- (void)SB_setImageWithURLString:(NSString *)URLString
{
    // 一定要在保存之前判断
    if (![URLString isEqualToString:self.lastUrl]) {
        // 单例接管取消操作
        [[DownloadOperationManager sharedManager] cancelOperationWithLastURL:self.lastUrl];
    }
    
    // 保存图片地址
    self.lastUrl = URLString;
    
    // 单例接管下载操作
    [[DownloadOperationManager sharedManager] downloadWithURLString:URLString finishedBlock:^(UIImage *image) {
        self.image = image;
    }];
}

@end
